<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  /* 
    new RangeError(); 数值变量或参数超出其有效范围
    new ReferenceError(); 无效引用
    new SyntaxError(); 发生语法错误
    new TypeError(); 变量或参数不属于有效类型。(值使用不当)
    new URIError(); 给 encodeURI()或 decodeURl()传递的参数无效
    new EvalError(); 与eval()有关
  */
  // 抛出自定义错误信息
  let fu = function () {
    throw new Error(`变量没有声明...`)
  }

  fu()
  console.log("发生错误后，后面的代码不再运行")
</script>
<script>
  // Error Cause的使用
  "use strict"; {
    let err = new RangeError("参数变量出错了哈哈")
    let f1 = () => {
      throw new Error('Upload job result failed', { cause: err })
    }
    try {
      f1()
    } catch (err) {
      console.log(err)
      console.log("Caused by", err.cause);
    }
  }
</script>

</html>